home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / e / UnfinishedEsrc.lha / PROJECTS / light.e < prev    next >
Text File  |  1999-01-06  |  1KB  |  72 lines

  1. ->By Ian Chapman
  2. ->Simple lightning simulator
  3.  
  4. MODULE 'intuition/screens'
  5.  
  6. DEF scr:PTR TO screen,rastptr
  7.  
  8. PROC main()
  9.  
  10.     IF (scr:=OpenS(640,400,2,$8000,NIL,NIL))<>NIL
  11.         rastptr:=scr.rastport
  12.         black()
  13.         SetColour(scr,2,255,255,0)
  14.         flash()
  15.         CloseS(scr)
  16.     ELSE
  17.         PrintF('Unable to open screen!\n')
  18.     ENDIF
  19.  
  20. ENDPROC
  21.  
  22.  
  23.  
  24. PROC flash()
  25. DEF i,z,x
  26.  
  27.     black()
  28.     FOR i:=1 TO 20
  29.         x:=Rnd(5)
  30.         IF x=0 THEN x:=1
  31.         Delay(Rnd(300))
  32.         FOR z:=1 TO x
  33.             blue()
  34.             Delay(1)
  35.             black()
  36.         ENDFOR
  37.  
  38.         lightdraw()
  39.     ENDFOR
  40.  
  41. ENDPROC
  42.  
  43.  
  44.  
  45. PROC lightdraw()
  46. DEF i,y,x,start
  47.  
  48.     Colour(2)
  49.     start:=Rnd(400)
  50.     IF (start<200) THEN start:=200
  51.     Move(rastptr,start,30)
  52.     y:=10
  53.     x:=0
  54.     FOR i:=1 TO 20
  55.         y:=y+Rnd(20)
  56.         x:=x+Rnd(30)
  57.         Draw(rastptr,x,y)
  58.     ENDFOR
  59.     Move(rastptr,0,0)
  60.     ClearScreen(rastptr)
  61. ENDPROC
  62.  
  63.  
  64. PROC black()
  65.     SetColour(scr,0,0,0,0)
  66. ENDPROC
  67.  
  68.  
  69. PROC blue()
  70.     SetColour(scr,0,45,65,174)
  71. ENDPROC
  72.